package wodegua.d25_recursion;

import java.io.File;
import java.util.Objects;

/**
 * 删除文件夹[拓展]
 * 需求:#删除非空文件夹
 * 分析:
 * ①:File默认不可以删除非空文件夹
 * 2.我们需要遍历文件夹，先删除里面的内容，再删除自己。
 */
public class RecursionDemo3 {
    public static void main(String[] args) {
        File f1 = new File("E:/data - 副本");
        f(f1);
    }

    private static void f(File f1){
        if (f1 == null || !f1.exists()) {
            return;
        }
        if (f1.isFile()) {
            f1.delete();
            return;
        }
        File[] files = f1.listFiles();
        if (files == null) {
            return;
        }
        if (files.length == 0) {
            System.out.println("空文件夹：" + f1.getAbsolutePath());
            f1.delete();
            return;
        }
        for (File file : files) {
            if (file.isDirectory()) {
                f(file);
            } else {
                System.out.println("空文件：" + file.getAbsolutePath());
                file.delete();
            }
        }
        f1.delete();
    }
}
